Зачинено. Це питання не відповідає вимогам щодо переповнення стека. Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито 4 роки тому. Удосконалюйте це питання Я будую Shiny app, який обробляє кілька текстових файлів, вибраних користувачем. Результатом є величезний кадр даних з мільйонами рядків і десятками стовпців. Зараз мені цікаво дозволити користувачеві інтерактивно фільтрувати рядки, вибирати стовпці та узагальнювати стовпці (вибираючи зі списку таких функцій, як середнє, sd, max, min, sum тощо). Результатом буде менший фрейм даних, що узагальнює дані за вибором користувача - в основному мені потрібно створити графічний інтерфейс, який реалізує основні функції бібліотеки dplyr. Взагалі, я знаю, як це зробити, створивши вручну купу елементів графічного інтерфейсу та подавши їх у серверну функцію за допомогою декількох команд dplyr. Оскільки це, здається, досить стандартна функціональність (графічний інтерфейс, який фільтрує та узагальнює фрейм даних), перед тим, як я почну будувати його з нуля, мені цікаво, чи є що-небудь "поза полицею", я можу використовувати як ЯК Є, так і як мою вихідну точку .
2021-02-22 08:14:45
Я знаю, ви сказали, що rpivotTable не зовсім те, що вам потрібно, але я думаю, що його можна налаштувати на важку атлетику, Ось приклад (використання rpivotTable для маніпуляцій, DT для відображення data.frame, rvest для синтаксичного аналізу внутрішньогоHTML з DOM, можливо, є кращий формат даних для передачі об’єкта таблиці з боку клієнта, але це є доказом концепції ): ui.R бібліотека (блискуча) бібліотека (DT) бібліотека (rpivotTable) FullPage <- fluidPage ( DT :: dataTableOutput ('aSummaryTable'), rpivotTableOutput ('РЕЗУЛЬТАТИ') ) FullPage server.R: бібліотека (блискуча) бібліотека (rpivotTable) бібліотека (DT) бібліотека (rvest) функція (вхід, вихід, сесія) { # Зробіть кілька зразків даних qbdata <- реактивний ({ expand.grid (БУКВИ, 1: 3) }) # Очистіть html і зберігайте як реактивний summarydf <- eventReactive (введення $ myData, { введення $ myData%>% read_html%>% html_table (fill = TRUE)%>% # Виявляється, у rpivotTable є дві таблиці, ми хочемо другу . [[2]] }) # показати df як DT :: datatable вивести $ aSummaryTable <- DT :: renderDataTable ({ таблиця даних (summarydf (), імена рядків = FALSE) }) # Щоразу, коли конфігурація оновлюється, передзвоніть із вмістом таблиці вивести $ РЕЗУЛЬТАТИ <- renderRpivotTable ({ rpivotTable ( qbdata (), onRefresh = htmlwidgets :: JS ("функція (конфігурація) { Shiny.onInputChange ('myData', document.getElementById ('RESULTS'). InnerHTML); } ") ) }) } | Не відповідь, яку ви шукаєте? Перегляньте інші запитання, позначені тегом r dplyr shiny, або задайте власне запитання.